<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8">
</head>
<body>

                    <h4>实战</h4>
                    <div class="x-wiki-info"><span>1044次阅读</span></div>
                    <hr style="border-top-color:#ccc" />
                    <div class="x-wiki-content x-content"><p>看完了教程，是不是有这么一种感觉：看的时候觉得很简单，照着教程敲代码也没啥大问题。</p>
<p>于是准备开始独立写代码，就发现不知道从哪开始下手了。</p>
<p>这种情况是完全正常的。好比学写作文，学的时候觉得简单，写的时候就无从下笔了。</p>
<p>虽然这个教程是面向小白的零基础Python教程，但是我们的目标不是学到60分，而是学到90分。</p>
<p>所以，用Python写一个真正的Web App吧！</p>
<h3 id="-">目标</h3>
<p>我们设定的实战目标是一个Blog网站，包含日志、用户和评论3大部分。</p>
<p>很多童鞋会想，这是不是太简单了？</p>
<p>比如<a href="http://webpy.org/src/blog/0.3">webpy.org</a>上就提供了一个Blog的例子，目测也就100行代码。</p>
<p>但是，这样的页面：</p>
<p><img src="http://www.liaoxuefeng.com/files/attachments/0014020291725943e4c92e7b303470a885dee3ae3cd5e0c000" alt="simple-hello-world"></p>
<p>你拿得出手么？</p>
<p>我们要写出用户真正看得上眼的页面，首页长得像这样：</p>
<p><img src="http://www.liaoxuefeng.com/files/attachments/0014020294434165cb8265fb82a403ba17596bc0aa615f4000" alt="awesomepy-home-blogs"></p>
<p>评论区：</p>
<p><img src="http://www.liaoxuefeng.com/files/attachments/001402029470123ca198fd144234eb0ac83268a08612dbf000" alt="awesomepy-comments"></p>
<p>还有极其强大的后台管理页面：</p>
<p><img src="http://www.liaoxuefeng.com/files/attachments/001402029498359eb29eecc6a3b4160be876a1b2d25a2d8000" alt="awesomepy-manage-blogs"></p>
<p>是不是一下子变得高端大气上档次了？</p>
<h3 id="-">项目名称</h3>
<p>必须是高端大气上档次的名称，命名为<code>awesome-python-webapp</code>。</p>
<h3 id="-">项目计划</h3>
<p>项目计划开发周期为16天。每天，你需要完成教程中的内容。如果你觉得编写代码难度实在太大，可以参考一下当天在GitHub上的代码。</p>
<p>第N天的代码在<code>https://github.com/michaelliao/awesome-python-webapp/tree/day-N</code>上。比如第1天就是：</p>
<p><a href="https://github.com/michaelliao/awesome-python-webapp/tree/day-01">https://github.com/michaelliao/awesome-python-webapp/tree/day-01</a></p>
<p>以此类推。</p>
<p>要预览<code>awesome-python-webapp</code>的最终页面效果，请猛击：</p>
<h3 id="-awesome-liaoxuefeng-com-http-awesome-liaoxuefeng-com-"><a href="http://awesome.liaoxuefeng.com/">awesome.liaoxuefeng.com</a></h3>
</div>

                    <hr style="border-top-color:#ccc" />

                    